<?php
// +----------------------------------------------------------------------
// | RXThinkCMF_EVTP6_PRO前后端分离旗舰版框架 [ RXThinkCMF ]
// +----------------------------------------------------------------------
// | 版权所有 2021 南京RXThinkCMF研发中心
// +----------------------------------------------------------------------
// | 官方网站: http://www.rxthink.cn
// +----------------------------------------------------------------------
// | 作者: 牧羊人 <rxthinkcmf@163.com>
// +----------------------------------------------------------------------
// | 免责声明:
// | 本软件框架禁止任何单位和个人用于任何违法、侵害他人合法利益等恶意的行为，禁止用于任何违
// | 反我国法律法规的一切平台研发，任何单位和个人使用本软件框架用于产品研发而产生的任何意外
// | 、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、附带
// | 或衍生的损失等)，本团队不承担任何法律责任。本软件框架只能用于公司和个人内部的法律所允
// | 许的合法合规的软件产品研发，详细声明内容请阅读《框架免责声明》附件；
// +----------------------------------------------------------------------

namespace app\adminmini\controller;


use app\adminmini\service\CouponService;
use think\facade\Db;
use think\Request;
use think\Response;

/**
 * 商家优惠券管理-控制器
 * @author 牧羊人
 * @since: 2021/12/27
 * Class Coupon
 * @package app\adminmini\controller
 */
class Coupon extends Backend
{
    /**
     * 初始化方法
     * @author 牧羊人
     * @since: 2021/12/27
     */
    public function initialize()
    {
        parent::initialize(); // TODO: Change the autogenerated stub
        $this->service = new CouponService();
    }


    /**
     * 门店列表
     * @return array
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\DbException
     * @throws \think\db\exception\ModelNotFoundException
     */
    public function getStoreList()
    {
        $list = Db::name('mini_room_list')->select();
        $data = array();
        foreach ($list as $i => $v) {
            $data[] = array(
                'id' => $v['id'],
                'room_name' => $v['room_name'],
            );
        }
        return message("操作成功", true, $data);
    }
//发送优惠卷
    public function saveCradArea(Request $request)
    {
        if (request()->isPost()) {
            $post = $request->param();

            $posts['coupon_id']= $post['id'];
            $posts['phone']= $post['phone'];
            if (!isset($posts['coupon_id'])) {
                return message('参数错误', false);
                exit();
            }
            if (!isset($posts['phone'])) {
                return message('手机号不能为空', false);
                exit();
            }
            $user = Db::name('member')->where('mobile', $posts['phone'])->find();
            if(empty($user)){
                return message('手机号未注册', false);
                exit();
            }
            // 查询当前用书是否已利股权
            $coupon = Db::name('coupon')->where('id', $posts['coupon_id'])->find();

                if ($coupon['receive_num'] < $coupon['num']) {

                    $dataCoupon = array(
                        'coupon_id' => $coupon['id'],
                        'user_id' => $user['id'],
                        'type' => 1,
                        'end_time' => $coupon['end_time'],
                        'add_time' => $coupon['add_time'],
                        'price' => $coupon['price'],
                    );
                    if (Db::name('mini_user_coupon')->insert($dataCoupon)) {
                        // 更新领取数量
                        $coi = array(
                            'surplus_num' => $coupon['num'] - $coupon['receive_num'] - 1,
                            'receive_num' => $coupon['receive_num'] + 1,
                        );
                        Db::name('coupon')->where('id', $coupon['id'])->update($coi);
                        return message('发送成功', true);
                        exit();
                    }
                }else{
                    return message('库存不够', false);
                    exit();
                }


        }
    }
    public function status()
    {
        $data = request()->param();
        // 记录ID
        $id = getter($data, "id", 0);
        if (!$id) {
            return message('记录ID不能为空', false);
        }
        // 状态
        $status = getter($data, "status", 0);


        $error = '';
        $item = [

            'status' => $status,
            'update_time' => time(),
        ];
        $rowId = Db::name('coupon')->where('id', $id)->update($item);
        if (!$rowId) {
            return message($error, false);
        }
        return message();
    }
}